import axios from 'axios';
console.dir(axios)

// axios是基于promise的用于浏览器的http请求插件，vue项目中常用的http请求
// get请求
// axios.get();
// 参数：1:url  2,对象接收的id

// axios.post();
// 参数;1:url   2:需要穿的数据  3：配置对象 请求头
                                // {headers:{'ContentType':'application/x-www-from-urlencoded'}}

//设置超时时间，超时就报错
axios.defaults.timeout=5000;

//设置基准url
axios.defaults.baseURL='http://localhost:8080/'




// axios拦截器：请求拦截器  响应拦截器
axios.interceptors.request.use(
  // 参数1:函数在请求时调用
  (config)=>{
    //必须return一个返回值，否则就像路由守卫一样没有next不会执行下面的函数
    console.log(config)
    if(axios.method==='post'){
         config.headers['content-type']='application/x-www-from-urlencoded';
    }

    if(axios.method==='json'){
      config.headers['content-type']='application/json';
 }
 

    return config
  },

//第二个函数在请求失败时调用
  (error)=>{
    return Promise.reject(error);
  }


);


//响应请求头
axios.interceptors.response.use(
  //响应成功
  responseData=>{
    return responseData;//若是不return下面的then输出的都是undefined
  },

  //响应失败

  error=>{
    console.log('响应失败')
    return Promise.reject(error)
  }

)
;

axios.get('static/xiaomi.json').then((data)=>{
    console.log(data)
})





export default axios;